//返回用于检查对象是否具有给定集合的谓词
//`key：value`对。

import extendOwn, { Io } from "./extendOwn";
import { isMatch } from "../../underscore";

// 返回一个断言函数，这个函数会给你一个断言可以用来辨别给定的对象是否匹配attrs指定键/值属性。
export default function matcher(attrs) {
  const n = extendOwn({}, attrs)
  return function (obj: Io) {
    return isMatch(obj, n)
  }
}